Skip to content

React query handle 204 or zero content length #2235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

wheelebin
Copy link
Contributor

Changes

I created an issue about how 204 status codes are handled and an error that's thrown by react-query due to data being returned as undefined (Something that react-query does not support for it's queryFn's).

Issue: #2234

This PR handles 204 or zero Content-Length header by returning data as null in the queryFn.

How to Review

Use the useQuery hook towards an API endpoint that returns a 204 status or zero value in the Content-Length header, the data should be set to null and no error should be thrown.

Checklist

  • Unit tests updated
  • docs/ updated (if necessary)
  • pnpm run update:examples run (only applicable for openapi-typescript)

@wheelebin wheelebin requested a review from a team as a code owner March 28, 2025 18:29
@wheelebin wheelebin requested a review from htunnicliff March 28, 2025 18:29
Copy link

netlify bot commented Mar 28, 2025

👷 Deploy request for openapi-ts pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 5e16534

Copy link

changeset-bot bot commented Mar 28, 2025

⚠️ No Changeset found

Latest commit: 5e16534

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

@drwpow drwpow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! 204 responses are still tricky for folks, and agree this is better behavior.

Sorry for the delay in reviewing. But if you add a patch changeset (see GitHub comment), I‘d love to merge & release.

@drwpow
Copy link
Contributor

drwpow commented May 10, 2025

Going through open PRs, and I see this hasn’t had a changeset added. I’ll add one manually so we can release this. Thank you!

@drwpow drwpow merged commit 694522a into openapi-ts:main May 10, 2025
8 checks passed
@drwpow drwpow mentioned this pull request May 10, 2025
jawnothin added a commit to augwa/openapi-typescript that referenced this pull request May 17, 2025
* Update schema-object.ts

* chore(deps): update dependency msw to v2.7.6 (openapi-ts#2287)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v22.15.10 (openapi-ts#2293)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @shikijs/vitepress-twoslash to v3.4.0 (openapi-ts#2298)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @arethetypeswrong/cli to ^0.18.0 (openapi-ts#2272)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency execa to v9.5.3 (openapi-ts#2303)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(metadata): fix thunk type detection (openapi-ts#2125)

* Don't remove `null` type if a default is present. (openapi-ts#2145)

* Don't remove `null` type if a default is present.

* Don't remove `null` type from enums if default is present.

* Don't remove `null` type if default is present (legacy)

* [ci] release (openapi-ts#2307)

* [ci] release

* Add 2145 manually

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Drew Powers <drew@pow.rs>

* chore(deps): update dependency @types/react to v18.3.21 (openapi-ts#2218)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(openapi-fetch): fix overriding baseUrl per request without overriding default baseUrl (openapi-ts#2157)

* Support $ref into `paths` (openapi-ts#2185)

* React query handle 204 or zero content length (openapi-ts#2235)

* fix(openapi-react-query): Handle 204 or zero Content-Length header by returning data as null

* fix(openapi-react-query): updated and added 204 & zero Content-Length queryFn tests

* chore(openapi-react-query): Fixed linting in test

* chore(deps): update dependency @arethetypeswrong/cli to v0.18.1 (openapi-ts#2306)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency msw to v2.8.2 (openapi-ts#2304)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update Speakeasy URL (openapi-ts#2302)

* chore(deps): update dependency @tanstack/react-query to v5.75.7 (openapi-ts#2301)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency lint-staged to v15.5.2 (openapi-ts#2297)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(swr-openapi): add custom error types to query builder (openapi-ts#2147)

* chore(deps): update vitest monorepo to v3 (openapi-ts#2284)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Encode the request body if Content-Type set (openapi-ts#2096)

* Improve header handling (openapi-ts#2308)

* [ci] release (openapi-ts#2309)

* [ci] release

* Release additional packages

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Drew Powers <drew@pow.rs>

* chore: update openapi-fetch test fixture (openapi-ts#2313)

* Build packages with unbuild to improve CJS support (openapi-ts#2310)

* [ci] release (openapi-ts#2314)

* [ci] release

* Fix major bump

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Drew Powers <drew@pow.rs>

* Update code of conduct source (openapi-ts#2316)

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>

---------

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Martin Paucot <contact@martin-paucot.fr>
Co-authored-by: Theron Luhn <theron@luhn.com>
Co-authored-by: openapi-ts-bot <openapi-ts@googlegroups.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Drew Powers <drew@pow.rs>
Co-authored-by: Luis Merino <mail@luismerino.name>
Co-authored-by: Duncan Beevers <duncan@dweebd.com>
Co-authored-by: Wheelebin <wheelebin@users.noreply.github.com>
Co-authored-by: Nolan Di Mare Sullivan <nolan.dm.sullivan@gmail.com>
Co-authored-by: しゅーまい <62363188+SSlime-s@users.noreply.github.com>
Co-authored-by: Olga Bulat <obulat@gmail.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants